home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d27 / blank331.arc / BLANKS.DOC < prev    next >
Text File  |  1991-04-11  |  42KB  |  803 lines

  1. ┌──────────────────────────────────────────────────────────────────────────────┐
  2. │ Designations claimed as trademark appear in initial capitals or all capitals │
  3. └──────────────────────────────────────────────────────────────────────────────┘
  4.  
  5.                  (c) Copyright 1988-1991 by FM de Monasterio
  6.                             All rights reserved
  7.  
  8.                             -------------------
  9.                             BLANKs version 3.31
  10.                             -------------------
  11.  
  12.     BLANKs is an IBM PC-DOS/MS-DOS based, resident program which blanks the
  13.     screen after a preselected interval in the absence of a keypress.  This
  14.     interval can be selected from 1 to 60 minutes.  A selection higher than
  15.     60 minutes is set to 60.  Selecting 0 minutes disables screen blanking;
  16.     blanking can be enabled by re-invoking with an interval of 1 to 60 min.
  17.  
  18.     The program also offers the option of parking hard-disk(s) heads at the
  19.     time of blanking, of blanking the screen at the press of a (selectable)
  20.     hot-key combination, and the use of a password to unblank the (manually
  21.     blanked) screen. See BLANKS.NEW for a description of what is new in the
  22.     current version.
  23.  
  24.     BLANKs is a terminate-and-stay resident program, and it can be executed
  25.     repeatedly to change its parameters without yielding multiple copies to
  26.     memory. It consists of a resident component, wich contains the code for
  27.     blanking/unblanking the screen and parking the disk, and which occupies
  28.     less than 1 kb of memory, and a non-resident component, which loads the
  29.     resident component, communicates with the installed resident on further
  30.     executions of the program, and provides other ancillary functions.
  31.  
  32.     BLANKs requires DOS version 2.00 or higher.
  33.  
  34.  ------------------------------------------------------------------------------
  35.  
  36.  
  37.     1. GENERAL INFORMATION
  38.  
  39.     The video blanking is obtained by direct commands to the hardware (video
  40.     controller) to turn off/on the video signal.  This is a fast method that
  41.     operates successfully in the IBM PC/XT, PC/AT and in some IBM compatible
  42.     computers installed with MDA, CGA, EGA, VGA, and HERCULES video adapters
  43.     or with IBM-compatible adapters from other manufacturers.
  44.  
  45.     NOTICE  -  The program may not work in some nonIBM microcomputers and it
  46.                should not be used with other video adapter types unless they
  47.                are compatible with the IBM adapter at the register level (as
  48.                it is possible that some of these adapters might be damaged).
  49.  
  50.     Blanking occurs as a result of keyboard and BIOS video inactivity within
  51.     a selectable time interval (of between 1 and 60 minutes), or by pressing
  52.     a selectable hotkey (<Ctrl-B> in the distributed version). Once blanking
  53.     has occurred, press any key to unblank the screen; a <Shift> keypress is
  54.     especially useful for this purpose.
  55.  
  56.     BLANKs can be executed repeatedly to modify resident parameters, without
  57.     resulting in multiple copies to memory. The resident part uses about 800
  58.     bytes of memory.  BLANKs parameters can be specified from the DOS prompt
  59.     or via the environment string 'BLANKS='(see below).
  60.  
  61.     A 32-bit CRC calculation is performed each time BLANKs is executed; if it
  62.     fails, BLANKs will abort operation.  CRC failures indicate a modification
  63.     of the code, and the program should *not* be used for your own protection
  64.     (e.g. error in copying or downloading, malicious alteration of the code).
  65.  
  66.     The noncritical messages, i.e. successful or uneventful operation, can be
  67.     redirected to the NUL: device (bit bucket) by the DOS redirection command
  68.     "> NUL." Critical messages such as operation failures, however, cannot be
  69.     redirected by DOS commands, and are always displayed (unless the "StdErr"
  70.     handle processing of the console output has been modified).
  71.  
  72.  ------------------------------------------------------------------------------
  73.  
  74.  
  75.     2. USAGE
  76.  
  77.     From the DOS command line or from a batch file, BLANKs is installed (or,
  78.     when already installed, modified) by the command:
  79.  
  80.                          BLANKs [T] [/switches] [;comments]
  81.     Where:
  82.  
  83.     A.  [T]   Timed blanking interval in minutes. These are the minutes that
  84.               the program waits before blanking the screen in the absence of
  85.               keyboard and (BIOS-mediated) video activity.  Valid selections
  86.               are 0 or a number in the range of 1 to 60.  The selection of a
  87.               0-minute interval disables timed blanking; the selection of an
  88.               interval larger than 60 defaults to 60 minutes or to the value
  89.               (in the valid range) of the first 2 digits in inputs with more
  90.               than 2 digits.
  91.  
  92.               Typing 'T' rather than the digit(s) yields a 5-second interval
  93.               for test purposes (see below <F2> key in Syntax/Help panel).
  94.  
  95.               Null interval defaults to 3 minutes; this default value can be
  96.               changed via an environment string variable (see below).
  97.  
  98.                                   ----------------
  99.  
  100.  
  101.     B.  The switches can be entered from:
  102.  
  103.     (1)  The DOS prompt line or a batch file
  104.     (2)  An environment variable with the format BLANKS=/SWITCH1.../SWITCHn,
  105.  
  106.     Switches can be given in any order and any character between space (ASCII
  107.     32) and slash (ASCII 47) can be used as a switch delimiter.  The switches
  108.     are not case sensitive.  An invalid switch specification aborts execution
  109.     of the program. Starting with version 3.17, switch /C (for cloning) is no
  110.     longer recognized.
  111.  
  112.     -------------------------------------------------------------------------
  113.       Asterisks (*) mark items available only in registered program copies
  114.     -------------------------------------------------------------------------
  115.  
  116.  
  117.         /Ax - Force configuration to a specified video adapter.  This switch
  118.               bypasses the automatic configuration of BLANKs for the adapter
  119.               detected at the time of each execution.  Valid specifications:
  120.  
  121.               /Am  MDA configuration (IBM Monochrome Display Adapter and the
  122.                    Hercules cards HGA, HGA plus, InColor). Uses and restores
  123.                    bit 3 of video port 3B8h.
  124.  
  125.               /Ac  CGA configuration (IBM Color Graphics Adapter, MultiColor
  126.                    Graphics Array [MCGA], and compatible adapters). Uses and
  127.                    restores bits 0-3 of port 3D9h and bit 3 of port 3D8h.
  128.  
  129.               /Ae  EGA configuration (IBM Enhanced Graphics Adapter and com-
  130.                    patible adapters).  Resets video ports 3BAh and 3DAh, and
  131.                    uses and restores bit 5 of port 3C0h.
  132.  
  133.               /Av  VGA configuration (IBM Video Graphics Array and compatible
  134.                    adapters). Uses video port 3C4h, and uses and restores bit
  135.                    5 of port 3C5h.
  136.  
  137.               Switch /Ax is useful if the video adapter type is not identified
  138.               properly.  Read the above notice on video adapter compatibility.
  139.  
  140.               Starting with version 3.15, BLANKs assumes that a CGA whose ROM
  141.               BIOS contains the letters 'COMPAQ' is a monochrome COMPAQ card;
  142.               if you wish to override the assumption, switch /AC forces a CGA
  143.               color configuration.
  144.  
  145.                                       --------
  146.  
  147.         /Dn - Adjust brightness of VGA display.  The brightness change step
  148.               is specified by the sign and value of number <n> ranging from
  149.               -63 to +63.
  150.  
  151.               /D-n (for 0 < n < 64)  Decrease the brightness of the screen,
  152.                    reducing the contrast of the display.
  153.  
  154.               /D+n (for 0 < n < 64)  Increase the brightness of the screen,
  155.                    reducing the saturation of the display.
  156.  
  157.               /D0  Restore screen to its original brightness as dictated by
  158.                    the settings of the monitor.  Clears the screen.
  159.  
  160.               Defaults:  If <n> is not specified, the default step is 2; if
  161.               neither number nor sign is specified, the step is -2.
  162.  
  163.               Brightness changes are additive.  Repeated use of this switch
  164.               or the use of large numbers shall produce unreadable screens.
  165.               Switch /D is a sticky parameter: Brightness changes remain in
  166.               effect even if BLANKs is made quiescent or uninstalled.
  167.  
  168.                                     --------
  169.  
  170.       * /E  - Creates the DOS environment string BLANKS=/SWITCH1.../SWITCHn,
  171.               where SWITCH1...SWITCHn are the switches specified when BLANKs
  172.               is executed from the DOS command line. When the string BLANKS=
  173.               already exists, switch /E updates the contents of this string.
  174.               Although the switch itself is incorporated into the string, it
  175.               is ignored when BLANKs uses the string as input.
  176.  
  177.               Switch /E uses the undocumented DOS function 52h that does not
  178.               work in some buggy DOS 4.00 versions but works in 2.10 through
  179.               3.31, and 4.01.  See section 3 for more details.  No defaults.
  180.  
  181.                                       --------
  182.  
  183.         /H  - Hotkey switch.  In addition to timed screen blanking, BLANKs
  184.               allows for manual blanking of the video by pressing a hotkey
  185.               combination.  The combination is <Ctrl-B> in the distributed
  186.               version of the program, but it can be changed in the case of
  187.               key assignment conflicts.  Once the screen has been manually
  188.               blanked, only keyboard activity can unblank it.
  189.  
  190.               BLANKs removes the hotkey from the keyboard buffer. However,
  191.               utilities loaded after BLANKs might save such an input; this
  192.               is what occurs, for example, with some word processors where
  193.               the hotkey needs to be erased from the text.
  194.  
  195.               /H+   Enable hotkey operation; this is the default condition
  196.                     if an switch argument is not specified (/H = /H+).
  197.  
  198.               /H-   Disable hotkey operation.  Can be reenabled with /H+.
  199.  
  200.             * /H?   Permits selection of a new hotkey combination including
  201.                     an alphanumeric key, and one or more of the shift keys:
  202.                     <Ctrl>, <Alt>, <lt-Shift>, and <rt-Shift>.
  203.  
  204.             * /Hxn  Use <xn> as the hotkey combination, where <x> is a pure
  205.                     alphanumeric character (0-9 or A-Z), and <n> is a digit
  206.                     between 4 and 15 only.  The latter digit corresponds to
  207.                     one of the following 'shift' keys or their sum:
  208.  
  209.                           1 = right shift        ************************
  210.                           2 = left shift         Values higher than 15 or
  211.                           4 = Ctrl               lower than 4 are invalid
  212.                           8 = Alt                ************************
  213.  
  214.               For obvious reasons, <Ctrl> or <Alt>, or both, must be part of
  215.               any new hotkey combination either in switch /H? or /Hxn.  If a
  216.               hotkey other than the default one is needed routinely, be sure
  217.               to store in the DOS environment (via the SET command) a string
  218.               named "BLANKS=" containing the specification for switch /Hxn.
  219.  
  220.                                     --------
  221.  
  222.       * /Ln - Load the resident in high memory between 640 and 1024 kb, i.e.
  223.               below the 1 Mb boundary of conventional RAM (but above the RAM
  224.               area normally controlled by DOS).  The switch requires that an
  225.               XMS manager (XMM) complying with the specifications of XMS 2.0
  226.               for upper memory block (UMB) functions 10h and 11h is present,
  227.               and that a free UMB of less than 1 kb is available.
  228.  
  229. |             Optionally, a lower high-memory bound can be specified via <n>,
  230. |             a hexadecimal number between A000 (640 kb) and FFFF (1,024 kb),
  231. |             so as to avoid specific areas of high memory with a slow access
  232. |             time.  Memory access times are provided by some memory managers
  233. |             (such as Qualitas' 386MAX and Quarterdeck's QEMM386) but not by
  234. |             others (such as Microsoft's HIMEM.SYS). To examine access times
  235. |             in more detail, use the program TIMEM.EXE, which is enclosed in
  236. |             this software release of BLANKs (see also TIMEM.DOC).
  237.  
  238.               Unlike the high-memory loading provided by 386 memory managers,
  239.               the required size of the free UMB is that of the resident code,
  240.               and not that of the entire program. (A few additional bytes are
  241.               used by XMS for the UMB allocation.  See section on High Memory
  242.               Installation.)
  243.  
  244.               Defaults:  Low-memory installation if any error is found during
  245. |             the UMB loading.  High-memory installation below lower bound if
  246. |             no UMB is available above this limit.
  247.  
  248.                                       --------
  249.  
  250.       * /M  - Force monitoring of video activity mediated by mouse calls to
  251.               interrupt 33h. If enabled, switch /M avoids timed blanking of
  252.               the screen when mouse activity is detected.  Note that switch
  253.               /M does not unblank the screen after its manual blanking with
  254.               the hotkey combination.
  255.  
  256.               /M+  Enable mouse monitoring; can be disabled with /M[-].
  257.  
  258.               /M-  Disable mouse monitoring; this is the default condition
  259.                    if an argument is not specified at the time of resident
  260.                    installation.
  261.  
  262.               Defaults:  /M = /M-
  263.  
  264.               NOTE: The mouse activity of some programs is not mediated via
  265.               interrupt 33h, but by direct commands; hence, BLANKs will not
  266.               detect mouse activity and the screen will be blanked.
  267.  
  268.               NOTE: There are mouse drivers that can freeze the computer if
  269.               interrupt 33h is found to be in use at the time of the driver
  270.               installation; if you have such a driver, and would rather not
  271.               install it before BLANKs, then you must specify switch /M- at
  272.               the time of installing BLANKs.
  273.  
  274.                                       --------
  275.  
  276.       * /P  - Park hard-disk head(s) during manual or timed blanking of the
  277.               screen.  Moves the disk head to the highest disk cylinder for
  278.               each physical disk, attached to the disk controller, that can
  279.               be accessed via the BIOS; parking is inhibited when BIOS disk
  280.               or diskette activity is in progress at the time of blanking.
  281.  
  282.               /P+  Enable hard disk parking; this is the default condition
  283.                    if an argument is not specified at the time of resident
  284.                    installation.
  285.  
  286.               /P-  Disable disk parking. (Can be reenabled with /P[+].)
  287.  
  288.               Defaults:  /P = /P+
  289.  
  290.               When used in a machine lacking a hard disk, parking should be
  291.               disabled at the time of installation, as parking attempts may
  292.               freeze the machine.
  293.  
  294.               NOTE: Parking is not available in a special version of BLANKs
  295.               for laptop and diskless machines to avoid potential conflicts
  296.               were disk parking requested.
  297.  
  298.                                       --------
  299.  
  300.         /Q  - Disable timed blanking. Has the same effect as selecting an
  301.               interval of 0 minute for the [T] option; it does not affect
  302.               manual blanking via the hotkey combination. No defaults.
  303.  
  304.                                       --------
  305.  
  306.         /U  - Uninstall. (Use only when BLANKs was the last resident to be
  307.               installed as otherwise this creates a 'hole' in memory.)  No
  308.               defaults.
  309.  
  310.               The request is not honored when any of the interrupt vectors
  311.               that have been intercepted has been changed since BLANKs was
  312.               installed.  This may be caused by installing other residents
  313.               after BLANKs (or by a prior resident that modifies interrupt
  314.               vectors set by residents loaded after it).
  315.  
  316.         NOTE:
  317.  
  318.               Prior to uninstalling a resident, it is safe to check memory
  319.               status with one of the several memory mapping utilities that
  320.               are available.  BLANKs (versions 2.20+) can be identified by
  321.               name in low-memory usage maps.   Although BLANKs removes its
  322.               own copy of the environment at loading time (to minimize the
  323.               resident size),  the string "BLANKs n.nn" will appear in the
  324.               command line listings of the map, irrespective of the actual
  325.               content of the DOS command line at the time of installation.
  326.  
  327.               For example, MAPMEM.COM (TurboPower Software) should display
  328.               the following identification for a normal, lower-memory load
  329.               of the 386+ release of BLANKs:
  330.  
  331.               PSP   blks bytes owner    command line        hooked vectors
  332.               ----- ---- ----- -------  ------------------  --------------
  333.               hhhh   1   752   N/A      BLANKs 3.31         08 09 10 13 33
  334.  
  335. |
  336. |             With residents loaded in high memory via switch /L, however,
  337. |             some memory mapping utilities fail to list the allocated UMB
  338. |             or lump it with other allocated blocks.  If the XMS services
  339. |             are implemented by a 286/386 memory manager, use the mapping
  340. |             service of the manager to examine high memory.  For example,
  341. |             switch /M of 386MAX (Qualitas), version 4.09, should display
  342. |             the following listing for an upper-memory loading of the 386
  343. |             release of BLANKs:
  344. |
  345. |                                    High DOS Memory
  346. |             ------------------------------------------------------------
  347. |                         Hex    Hex    Hex     Decimal
  348. |             Name        Start  End    Owner   Length   Interrupt Numbers
  349. |             ------------------------------------------------------------
  350. |                         hex#   hex#   -UMB-       48
  351. |                         hex#   hex#   -UMB-      752   08 09 10 13 33
  352. |             ------------------------------------------------------------
  353. |
  354. |             Alternatively, MANIFEST (Quaterdeck), version 1.00, provides
  355. |             the following listing for the same high-memory loading:
  356. |
  357. |                             hex# - hex#   0.1K   (yyyy)
  358. |                             hex# - hex#   0.8K   (zzzz)
  359. |
  360. |             where name 'zzzz' is also listed as owning the interrupts:
  361. |
  362. |                             hex#: (zzzz)      08 09 10 13 33
  363. |
  364.  
  365.                                       --------
  366.  
  367.       * /W  - Password unblanking: A selected sequence of 1 to 15 nonshifted
  368.               alphanumeric characters, followed by a <right-Shift> keypress,
  369.               must be typed to unblank the video after MANUAL blanking.  The
  370.               rebooting with <Ctrl-Alt-Del> is suppressed. Notice that pass-
  371.               word unblanking is not needed upon timed screen blanking; once
  372.               enabled, password unblaking can be disabled with switch "/W-".
  373.  
  374.             * /Wx  Specify from the command line a password, in which x is a
  375.                    string of 1 to 15 nonshifted, pure alphanumeric (0-9 a-z)
  376.                    characters.
  377.  
  378.             * /W?  Request to specify a new password of up to 15 nonshifted,
  379.                    pure alphanumeric characters. After these characters have
  380.                    been typed, press <ENTER> to make this password resident;
  381.                    press <Esc> to avoid changing the password or press <Ctrl
  382.                    Break> to quit to DOS. The typed characters can be erased
  383.                    with the <Backspace> key.
  384.  
  385.                    NOTE: If <Enter> is pressed before any valid character is
  386.                    typed, the unblanking of the manual blanking of the video
  387.                    will occur only after pressing the <Right-Shift> key.
  388.  
  389.             * /W-  Disable password unblanking.
  390.  
  391.             * /W+  Re-enable use of the resident password (if a password had
  392.                    not been loaded, the video will unblank only when <Right-
  393.                    Shift> is pressed). This is the default condition when an
  394.                    argument is not specified for this switch (/W = /W+).
  395.  
  396.                                       --------
  397.  
  398.         /?  - Invokes a brief syntax and status display that identifies the
  399.               type of adapter detected and the program settings. Once here,
  400.               pressing <F1> or <H> shows a more detailed description on the
  401.               program usage (except in a special release of BLANKs for disk
  402.               less/laptop machines, which is some 8,000 bytes smaller).
  403.  
  404.               When BLANKs has not been installed, pressing <F2> or <M> shows
  405.               the default parameters. When it is installed, pressing <F2> or
  406.               <M> yields a 1-sec interval for testing purposes; the original
  407.               interval is restored after any keypress to unblank the screen.
  408.  
  409.               When switch ? is requested and a EGA or VGA adapter is present
  410.               the program tries to read and save the contents of the palette
  411.               registers prior to asserting its own attribute palette for the
  412.               display. For the EGA, the program uses a 'Parameter Save Area'
  413.               that the EGA BIOS can use to store the contents of the palette
  414.               and the border (overscan) register, so that these contents can
  415.               be restored upon exiting the panel.  If the EGA fails to store
  416.               the data, the default DOS palette is loaded.
  417.  
  418.               Press <Esc> to go back to the prior screen at any time.  Press
  419.               <F7> or <X> to return to the DOS prompt. Mouse support is also
  420.               provided for point-and-click key selections. During display of
  421.               the Help/Syntax/Status panels, the BLANKs resident ignores any
  422.               activity via interrupt 33h.
  423.  
  424.                                   ----------------
  425.  
  426.  
  427.     C.  Comments may be added in the command line after the desired switches
  428.     after being preceded by a semicolon.  Such comments, which may be useful
  429.     in clarifying batch files, are ignored by BLANKs.
  430.  
  431.     Do not use the redirection (<>) and pipe (|) characters in the comments,
  432.     as DOS will attempt to implement the implied redirection or pipe request
  433.     in an unpredictable manner.
  434.  
  435.  
  436.  ------------------------------------------------------------------------------
  437.  
  438.     3.0  THE ENVIRONMENT VARIABLE 'BLANKS'
  439.  
  440.     Starting with version 3.14, when BLANKs is executed without any arguments
  441.     from either the DOS command line or a batch file, the program switches can
  442.     be specified via a DOS environment variable 'BLANKS' having the format:
  443.  
  444.                        BLANKS=/SWITCH1/SWITCH2..../SWITCHn
  445.  
  446.     Up to 128 characters are allowed after the equal sign.  This string can be
  447.     placed in the DOS environment block via the SET command or via switch /E.
  448.  
  449.     While the SET command modifies the default environment block, whether it is
  450.     the global or a local one, switch /E always modifies the global environment
  451.     block (even when BLANKs is executed via a secondary copy of COMMAND.COM, as
  452.     in the case of shelling to DOS from inside an application). Note that local
  453.     environment blocks (i.e. a secondary COMMAND) are only a copy of the master
  454.     global block and lack sufficient room to increase the length of a variable;
  455.     hence, when the default block is a local one, switch /E does not modify it.
  456.     In contrast, when reading the environment variable, the program always uses
  457.     the default environment block.
  458.  
  459.      NOTE:  See the file DOS_ENV.TXT, distributed in this release, for a more
  460.              detailed description of the DOS environment block.
  461.  
  462.  
  463.     This variable can be used to specify a BLANKs default configuration (e.g.,
  464.     /H+/P-/W-/HB8), which can be restored just by executing BLANKs without any
  465.     arguments after a temporary change of parameters.  An especially important
  466.     use of the 'BLANKS=' variable, particularly since the removal of switch /C
  467.     in version 3.17, is to change the hotkey combination when the default keys
  468.     conflict with those of a foreground application.
  469.  
  470.                                       --------
  471.  
  472.     3.1  HIGH-MEMORY RESIDENT INSTALLATION
  473.  
  474.     DIRECT UMB LOADING
  475.  
  476.     Starting with version 3.20,  BLANKs can install itself directly into high
  477.     conventionl memory (RAM addresses between 640 kb and 1,024 kb) via switch
  478.     /L.  Such a loading is mediated by an XMS manager (XMM) version 2.0, that
  479.     must be installed prior to the loading, of the type HIMEM.SYS (Microsoft)
  480.     Some 386-memory managers (386^MAX version 4.09 and QEMM version 5.11, for
  481.     example) provide XMS support as well.  All XMMs require a DOS version 3.0
  482.     or later.
  483.  
  484.     For the loading to be successful, an upper memory block (UMB) of the size
  485.     of the BLANKs resident, plus an additional 48-byte block used by the XMM,
  486.     must be available.
  487.  
  488. |   Switch /Ln, where A000 ≤ n ≤ FFFF (hexadecimal), allows the specification
  489. |   of a lower high-memory bound for the UMB, to avoid high-memory areas with
  490. |   a very slow access time.
  491.  
  492. |   Hence, compared to the high-memory installation provided by some (but not
  493. |   all) memory managers, direct UMB loading has two major advantages: (1) it
  494. |   does not need an initial free block of high memory the size of the entire
  495. |   program, as opposed to the resident size, to be available, and (2) allows
  496. |   some user control on the selection of the high-memory block.
  497.  
  498.  
  499.     LOADING VIA 386-MEMORY MANAGERS
  500.  
  501.     BLANKs can be installed in high memory via a 386-specific memory manager
  502.     also, provided that there is enough high memory for the *actual* size of
  503.     the program, plus any additional memory required by the loading utility.
  504.  
  505.     BLANKs is a compressed file that expands upon execution.  The difference
  506.     between  the loaded and directory sizes may produce conflicts with high-
  507.     memory loading programs that fail to measure the actual size of the file
  508.     being loaded.  When there is not enough high memory to permit expansion,
  509.     but there is enough memory for the nominal directory size, such programs
  510.     will load the compressed utility and its subsequent expansion will over-
  511.     write adjacent memory and crash the computer.  Note that when switch /?,
  512.     /H?, or /W? has been selected, 4,302 bytes of additional RAM are needed.
  513.  
  514.  
  515.     3.1.1  HIGH-MEMORY UPDATING
  516.  
  517.     Starting with version 3.00, BLANKs does not require a high-memory loading
  518.     utility to update its own resident component, and all updates can be made
  519.     via normal DOS-command line or batch-file calls. This obviates one of the
  520.     major restrictions in using high-memory UMB installation, namely the need
  521.     to maintain a pool of free high-memory to load the entire program just to
  522.     update a small resident component.
  523.  
  524.  
  525.     3.1.2  HIGH-MEMORY DEALLOCATION
  526.  
  527.     Notice that when switch /U is requested from the normal DOS command line
  528.     (as opposed to via a high-memory utility), the resident shall be removed
  529.     from memory even if it was installed in the high-memory UMB region. (The
  530.     confirmation request of versions 3.00 to 3.16 is no longer required.)
  531.  
  532.     When the resident is removed via a high-memory utility, notice that some
  533.     of these utilities warn that a "resident installation has failed."  Such
  534.     warnings are harmless and may be ignored.
  535.  
  536.                                       --------
  537.  
  538.     3.2  INTERCEPTED INTERRUPTS
  539.  
  540.     BLANKs intercepts interrupts 8h (system timer), 9h (keyboard), 10h (BIOS
  541.     video), 13h (BIOS disk), and 33h (mouse driver [Microsoft/Logitech Mouse
  542.     format]).  A brief description of these interrupts is given below:
  543.  
  544.   - Interrupt 8h is issued 18.2 times every second to update the time-of-the-
  545.     day counter in the BIOS data area.  Since a timer interrupt can thus only
  546.     operate within a period of about 55 ms or less, including the overhead of
  547.     DOS and other utilities hooking the timer, BLANKs uses direct commands to
  548.     the video hardware (written in assembly language), which are issued after
  549.     the original timer interrupt is served.
  550.  
  551.   - Interrupt 9h is issued when a key on the keyboard is pressed or released.
  552.     If the hotkey service is enabled (see switch /H+), the screen is blanked
  553.     when the hotkey combination is pressed.  The hotkey code is removed from
  554.     the keyboard buffer. A keypress unblanking the timed or manually blanked
  555.     screen is also removed from this buffer (version 3.12+); any other keys,
  556.     however, are passed along for keyboard processing.
  557.  
  558.   - Interrupt 10h mediates BIOS video services. Screen blanking is suppressed
  559.     during video activity, but this activity does not unblank the screen once
  560.     blanking has occurred. Due to the monitoring, video speed is decreased by
  561.     a small percentage.
  562.  
  563.   - Interrupt 13h is used to mediate a variety of BIOS disk services. If hard
  564.     disk parking is enabled (see switch /P below), parking on screen blanking
  565.     is inhibited during BIOS disk(ette) activity.  NOTE: Interrupt 13h is not
  566.     intercepted in a special version of BLANKs for computers that lack a hard
  567.     disk; the version is smaller than the standard 086 or 286 versions by ca.
  568.     100 bytes in the resident (and several kbytes in the nonresident) part.
  569.  
  570.   - Interrupt 33h (which is not used by DOS or the BIOS) is used in Microsoft
  571.     and Logitech implementations of calls to the Mouse driver. This interrupt
  572.     is claimed by the driver during its initialization and it is used by some
  573.     mouse-based programs.
  574.  
  575.  
  576.     3.2.1  BYPASSING INTERRUPTS
  577.  
  578.     BLANKs bypasses interrupt 8 when a blanking interval of 0 minute has been
  579.     selected (see below).  Interrupt 9 is bypassed only when an interval of 0
  580.     minute and switch /H- (see above) have been selected. When switch /H- has
  581.     been selected along with a nonzero time interval, only the hotkey service
  582.     of interrupt 9 is bypassed.
  583.  
  584.     Hence, the two interrupt activities of BLANKs are bypassed by the "0 /H-"
  585.     selection; this may be of use in case of testing potential conflicts with
  586.     other resident programs.
  587.  
  588.     Interrupts 10h (BIOS video) and 13h (BIOS disk) cannot be bypassed by any
  589.     of the switches, while interrupt 33h can be bypassed by switch /M-.
  590.  
  591.                                       --------
  592.  
  593.     3.3  OPERATION REQUIREMENTS & CONFLICTS
  594.  
  595.     BLANKs will fail to operate properly when access to interrupts 8 and 9 is
  596.     denied by another program or resident loaded after BLANKs. This can occur
  597.     with ill-behaved utilities that take over the interrupts and fail to pass
  598.     the information to those other utilities tapping the same interrupts.
  599.  
  600.     In particular, if access to interrupt-9 data is denied, keyboard activity
  601.     shall fail to unblank the screen once it is blanked. When testing for in-
  602.     compatibilities with a given program, be sure that any program that fails
  603.     to allow for manual blanking when <Ctrl-B> is pressed, will permit screen
  604.     unblanking after a timed blanking. Programs that fail to pass information
  605.     from interrupts 8 *and* 9 are less of a problem in the sense that neither
  606.     manual nor timed blanking are likely to be allowed.
  607.  
  608.     To monitor interrupt 33h, BLANKs must be installed after the mouse device
  609.     driver, as otherwise this driver will not allow access to this interrupt.
  610.     Note also that the driver for a well known mouse can freeze the system if
  611.     interrupt 33h is in use at the time of installing the driver; the problem
  612.     does not seem to occur with other drivers (e.g., Logitech's MOUSE.COM).
  613.  
  614.     Since the BIOS video services are comparatively slow, many programs write
  615.     directly to video memory instead of using the BIOS services. Because such
  616.     video writes are not detected by BLANKs, screen blanking may occur during
  617.     during the video activity of the programs.  Similarly, any mouse activity
  618.     implemented by commands that bypass interrupt 33h will not avoid blanking
  619.     of the screen (as in the case of some desktop publishing programs).
  620.  
  621.                                       --------
  622.  
  623.     3.4  ERRORLEVELS
  624.  
  625.     Starting with version 2.40, BLANKs passes to DOS errorlevels values that
  626.     can be used to test the outcome of BLANKs commands via a batch file. The
  627.     following errorlevels apply for version 3.21 and higher:
  628.  
  629.          Value     Nature of Error
  630.          -----     ------------------------------------
  631.            255     Cyclical redundancy check failure
  632.            255     CPU type cannot execute 286+ version
  633.  
  634.            128     XMM not installed or XMS error in UMB load
  635.             64     Error in update of environment variable
  636.             32     Invalid password format
  637.             16     Invalid hotkey combination
  638.              8     Unknown video adapter
  639.              4     Unable to uninstall resident
  640.              2     Invalid switch request
  641.              1     User <CTRL-BREAK> keypress
  642.              0     Successful execution
  643.  
  644.     Some conditions generating errorlevels 128 through 1 may be additive and
  645.     the resulting errorlevel may represent the sum of their values.
  646.  
  647.  
  648.  ------------------------------------------------------------------------------
  649.  
  650.                   SINGLE USER (BBS-DISTRIBUTED) LICENSE AGREEMENT
  651.  
  652.    REGISTRATION
  653.  
  654.    These programs and the documentations (the "software") are the copyrighted
  655.    property of FM de Monasterio (the "author"), who provides the software and
  656.    licenses its use.  Neither the title to nor ownership of this software are
  657.    transferred to you by such a license, and both are retained by the author.
  658.    All rights are reserved.
  659.  
  660.    The software is user-supported; the enclosed release, although lacking the
  661.    options marked by asterisks, is a fully usable program.  You may test this
  662.    release for (in)compatibilities with your system, but after the testing is
  663.    completed you are requested to order a registered release of this software
  664.    from the address below.
  665.  
  666.    Alternatively, to continue use of this unregistered copy, send to the same
  667.    address a US$5.00 check marked "For Deposit Only," and payable to "PATIENT
  668.    CARE FUND, CHILDREN'S HOSPITAL" of Washington, DC.  Unregistered users who
  669.    donate to this fund may legally keep such a copy under the injunctions and
  670.    limitations described below.
  671.  
  672.    --------------------------------------------------------------------------
  673.    * BLANKS.REG contains a form needed to register or upgrade this software *
  674.    --------------------------------------------------------------------------
  675.    Refer all inquiries about the software to:
  676.  
  677.                                                    FM de Monasterio
  678.                                                    P.O. Box 219
  679.                                                    Cabin John, MD 20818-0219
  680.    LICENSE
  681.  
  682.    Upon registration you receive a non-exclusive, non-transferable license to
  683.    use the software. Two types of license are available:
  684.  
  685.    Single User License:
  686.    Upon registration/upgrade you are granted a nontransferable license to use
  687.    the software in a single computer at a time. You may transfer the software
  688.    physically to another computer provided that the software is then not used
  689.    on more than one computer at any time.
  690.  
  691.    Site/10-Computer License:
  692.    Upon registration/upgrade you are granted a nontransferable license to use
  693.    the software in a single site or a set of sites provided that the software
  694.    is not used in more than ten computers at any time and that such computers
  695.    are located exclusively within the registered site(s).
  696.  
  697.  
  698.    UPGRADES
  699.  
  700.    Within the same major version:  Registered software users can upgrade free
  701.    of charge within the same major version (e.g., 2.00 through 2.99).
  702.  
  703.    Outside the same major version:  Registered users can upgrade for half the
  704.    the license fee for a different version of the software.
  705.  
  706.    To upgrade send a self-addressed stamped diskette mailer with the original
  707.    360 kb diskette to the address above, along with the upgrade form.
  708.  
  709.  
  710.    SUPPORT
  711.  
  712.    Limited technical support is provided to registered users. If you discover
  713.    a problem, please try to replicate it under the same conditions and, then,
  714.    in the absence of other resident programs. (Changes in the order residents
  715.    are installed sometimes solve conflicts.) If the problem can be replicated
  716.    please write at the address above providing:
  717.  
  718.                 - Your name and address.
  719.                 - Program version number (see the Syntax/Help panel).
  720.                 - Computer model and configuration, and hardware used.
  721.                 - A sufficiently detailed description of the problem.
  722.                 - A list of resident and nonresident programs in use,
  723.                   and their sequence of loading into memory.
  724.  
  725.  
  726.    Messages may be left C/O Sysop at:    The DC Information Exchange BBS
  727.                         ~~~~~~~~~        202-433-6639, Sysop: Bill Walsh
  728.                                          (2400+ baud).
  729.  
  730.  
  731.    INJUNCTIONS
  732.  
  733.    You may distribute this software via magnetic and/or electronic means, but
  734.    you are specifically prohibited from:
  735.  
  736.                 - Charging fees or asking donations in exchange of or payment
  737.                   for copies of the software.
  738.                 - Distributing this software with commercial products without
  739.                   the written permission from the author.
  740.                 - Distributing this software via a for-profit organization or
  741.                   group, either alone or with other software.
  742.  
  743.    The unauthorized copying, decompiling or disassembling of this software is
  744.    prohibited; any other use of this software is prohibited without a written
  745.    permission in advance from the author.
  746.  
  747.  
  748.    LIMITED WARRANTY
  749.  
  750.    The author-copyright owner warrants for a period of thirty (30) days from
  751.    the date of delivery that, under normal use and without any modification,
  752.    the programs substantially conform to the accompanying specifications and
  753.    that the documentation is substantially complete and contains information
  754.    the author deems necessary to use the programs. If, during the thirty-day
  755.    period, a demonstrable defect in the programs, magnetic medium upon which
  756.    they are distributed, or documentation should appear, you may return this
  757.    software for repair or replacement, at the author's option. If the defect
  758.    cannot be repaired, or the software replaced with functionally equivalent
  759.    software, within sixty (60) days of the author's receipt of the defective
  760.    software, then you shall be entitled to a full refund of the license fee,
  761.    but not of the mailing/handling costs described in the registration form.
  762.  
  763.    All other warranties of any kind, either express or implied,including but
  764.    not limited to the implied warranties of  merchantability and fitness for
  765.    for as a particular purpose, are expressly excluded.
  766.  
  767.    The author cannot and does not warrant that any function contained in the
  768.    programs will meet your requirements, or that the operation will be error
  769.    free. The entire risk as to the software performance or quality, or both,
  770.    is solely with the user, and not with the author.
  771.  
  772.  
  773.    LIMITATION OF REMEDIES
  774.  
  775.    You assume responsibility for the selection of the program to achieve your
  776.    intended results, and for the installation, use, and results obtained from
  777.    the software.
  778.  
  779.    The author makes no warranty, either implied or expressed, including with-
  780.    out limitation any warranty with respect to this software documented here,
  781.    its quality, performance, or fitness for a particular purpose. In no event
  782.    shall the author be liable to you for damages, whether direct or indirect,
  783.    incidental, special, or consequential arising out the use of or any defect
  784.    in the software, even if the author has been advised of the possibility of
  785.    such damages, or for any claim by any other party.
  786.  
  787.    The author's entire liability, and your exclusive remedy shall be: (1) the
  788.    replacement of an original software diskette not meeting the above Limited
  789.    Warranty and which is returned to the author along with proof of purchase,
  790.    or (2), if the author is unable to deliver a replacement diskette which is
  791.    free of defects, you may terminate the License Agreement by returning this
  792.    software and the corresponding license fee will be returned.
  793.  
  794.  
  795.    GENERAL
  796.  
  797.    By using the software, you acknowledge (1) to have read and understood all
  798.    parts of this document and (2) to have agreed with and accepted all of its
  799.    provisions without any reservation.
  800.  
  801.  ------------------------------------------------------------------------------
  802.    [END]
  803.